#!/bin/bash

# 脚本路径
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
QUEUE_COMMAND="php think queue:listen --queue=tuike --timeout=0"

# 日志文件路径
LOG_FILE="$SCRIPT_DIR/runtime/log/queue_monitor.log"

# 检查进程是否在运行
is_process_running() {
    pgrep -f "$QUEUE_COMMAND" > /dev/null
}

# 杀死进程
kill_process() {
    pkill -f "$QUEUE_COMMAND"
}

# 启动进程
start_process() {
    nohup $QUEUE_COMMAND >> $LOG_FILE 2>&1 &
}

# 监控逻辑
if is_process_running; then
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 进程正在运行。" >> $LOG_FILE
else
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 进程未运行，正在启动..." >> $LOG_FILE
    kill_process # 确保没有残留进程
    start_process
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 进程已启动。" >> $LOG_FILE
fi
